<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of imagem_controller
 *
 * @author link2
 */
class Imagem extends ADM_Controller {

    //put your code here

    public function __construct() {
        parent::__construct();

        $this->load->language('imagens/menu_imagens');
        $this->load->model('imagens/imagem_model');
        $this->load->library('permissions');
        $this->load->library('tank_auth');
        $this->load->library('imagens');
        $this->load->helper(array('file', 'encode'));
        $this->load->config('cms');
        $this->load->helper('html');
        $this->parser->add_js('config_gallery');
    }

    public function get($id) {
        $_b_consultar = $this->imagem_model->get($id);
        if ($_b_consultar != null) {
            $_img = url_base64_decode($_b_consultar->imagem);
            header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
            header('Content-Type: ' . $_b_consultar->tipo);
            header('Content-Length: ' . strlen(trim($_img)));
            echo $_img;
        } else {
            $width = 50;
            $height = 16;
            $image = imagecreatetruecolor($width, $height);
            $color = imagecolorallocate($image, 255, 255, 255);
            imagefilledrectangle($image, 0, 0, $width, $height, $color);
            header('Content-Type: image/jpg');
            imagejpeg($image);
            imagedestroy($image);
        }
    }

    public function gravar() {
        $config_upload = array();
        $config_upload['allowed_types'] = '*';
        $config_upload['max_size'] = $this->config->item('max_size');
        $config_upload['max_width'] = $this->config->item('max_width');
        $config_upload['max_height'] = $this->config->item('max_height');
        $config_upload['upload_path'] = $this->config->item('path_upload').$this->config->item('path_temp');//
        
        $this->load->library('upload', $config_upload);
        $v_dados = array();
        if ($this->upload->do_upload('imagens')) {
            $_upload_log = $this->upload->data();

            $tipo_img = get_mime_by_extension($_upload_log['file_type']);
            $tipo_img_explode = explode('/', $tipo_img);
            $nome_img = $_upload_log['full_path'];
            if ($tipo_img_explode[0] == 'image') {
                if ($tipo_img_explode[1] != 'gif') {
                    $config = array();
                    $config['image_library'] = 'gd2';
                    $config['source_image'] = $nome_img;
                    $nome_img = $config['new_image'] = $_upload_log['file_path'] . $_upload_log['raw_name'] . '.jpg';
                    $config['quality'] = 70;
                    $config['create_thumb'] = FALSE;
                    $config['maintain_ratio'] = TRUE;
                    $config['width'] = (int) $_upload_log['image_width'];
                    $config['height'] = (int) $_upload_log['image_height'];
                    $this->load->library('image_lib', $config);
                    $this->image_lib->resize();
                }
            }

            // Gravar IMG
            $_dados = array();
            $_dados['users_id'] = $this->tank_auth->get_user_id();
            $_dados['legenda'] = $_upload_log['orig_name'];
            $_dados['tipo'] = $tipo_img;
            $_dados['largura'] = (int) $_upload_log['image_width'];
            $_dados['altura'] = (int) $_upload_log['image_height'];
            $_dados['status'] = "1";
            $_dados['data_criada'] = date('Y-m-d H:i:s');
            $_dados['imagem'] = url_base64_encode(read_file($nome_img));
            $v_dados['id'] = $this->imagem_model->cadastrar($_dados);
            $v_dados['cod'] = 999;
            $v_dados['msg'] = '';
            $v_dados['dados'] = $_dados;
            unlink($this->config->item('path_temp') . $_upload_log['orig_name']);
        } else {
            $v_dados = $this->upload->display_errors();
        }
        echo json_encode($v_dados);
    }

    public function remover() {

        $b_deletar = $this->imagem_model->excluir($this->input->post('id'));
        $v_dados = array();


        if ($b_deletar === TRUE) {
            $v_dados['cod'] = 999;
            $v_dados['msg'] = $this->lang->line('lang_lida_success');
            $v_dados['header'] = $this->lang->line('lang_header_lida_success');
        } else {
            $v_dados['cod'] = 111;
            $v_dados['msg'] = $this->lang->line('lang_lida_warning');
            $v_dados['header'] = $this->lang->line('lang_header_lida_warning');
        }
        echo json_encode($v_dados);
    }

    public function alterar($id) {
        
    }

    /// Salvando do Pxlr
    public function save($_id) {

        $image_raw = file_get_contents($_FILES['image']['tmp_name']);
        header('Content-type:' . " image/jpeg");
        header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        header('Content-Length: ' . strlen(trim($image_raw)));
        echo $image_raw;

        $array = array();
        $array['imagem'] = url_base64_encode($image_raw);
        $this->imagem_model->alterar($_id, $array);
    }

    public function consultar() {
        $v_dados = array();
        $b_consultar = $this->imagem_model->get_all_status('1');
        $v_dados['imagens'] = $this->imagens->consultar($b_consultar);
        //pre($v_dados['imagens']);
        $v_dados = $this->lang->multi_line($v_dados);
        $v_dados['link_imagens_remover'] = $this->permissions->get_url('imagens_imagem_remover');
        $this->parser->parse_cms('imagem_view', $v_dados);
    }

}
